Abfragenentwurf mit SuperX-Sichten

In SuperX können bei Auswahldialogen verschiedene Sichten angeboten werden.

Alternative Hierarchien bzw. Auswertunghierarchien aus COB werden automatisiert übernommen. Jede Hierarchie bekommt einen Eintrag in der Sichtentabelle.

Die Sichten werden in der folgenden Tabelle definiert:

 

Spalte

Datentyp

Beschreibung

Beispiel

Beispiel 2

tid

integer (serial)

eindeutiger Identifier, der beim Einlesen und auch zur Rechtevergabe benutzt wird

Die tid 0 bis 9 sind für interne Sichten reserviert.

0

100

parent

integer

Uum zukünftig evtl. Hierarchien von Sichten abzubilden

 

 

system
info_id

integer

querverweis zur systeminfo

0 für allgemein

0

10

art

char

Art der Sicht. Bezeichnung sollte auf ?Sicht enden,

dann wird auch xxx-Sicht und xxx-Stand im Masken-SQL ersetzt

Organigramm-Sicht

Kosten-/Erlösarten-Sicht

type

integer

10 für reguläre Sichten

20 für alternative Hierarchien

 

 

name

char

Name, der auf dem Bildschirm bei der Auswahl erscheint

Organisatorische Sicht

Standardsicht-Kostenarten

name_
intern

char

interner eindeutiger Name,

wenn der interne Name mit memtext beginnt, sollte die Sicht nicht eigenständig geändert werden

 

 

beschreibung

char

ausführliche Beschreibung der Sicht

 

 

stand
button

integer

soll man bei einer Sicht, den Stand ändern können

muss für eine Sichtart (Organigramm-Sicht) einheitlich sein

1

1

label

integer

kann zur Charakterisierung einer Sicht benutzt werden

in Duisburg-Essen intern für altes Feld lehre benutzt

0 = alle Org.Einheiten

1 = Nur Lehre anzeigen; Institutionen im Bereich Lehre gefiltert nach user_institution

2 = Nur Lehre anzeigen; Institutionen im Bereich Lehre NICHT gefiltert

wird von Prozeduren (sp_user_org,sp_user_orga_child) noch unterstützt, intern aber auf neue Variante Label und User-Rechte umgesetzt

 

0

0

user_ rechte

integer

sollen beim Aufbau der Hierarchie (vergl. Spalte quelle) Userrechte berücksichtigt werden,
wird bisher nur von Duisburg-Essen benutzt

1

1

rechtequelle

char(255)

für zukünftig erweiterte Rechteverwaltung

 

 

sesamkey

char(100)

für zukünftig erweiterte Rechteverwaltung

 

 

quelle

text

SQL zum Aufbau der Hierarchie

vergl. ausführliche Beschreibung unten

sp_user_orga(<<UserID>>,<<Stand>>,<<Sicht>>);

select name,key_apnr,parent,lehre,erlaubt from tmp_organigramm;drop table tmp_organigramm;

sp_cob_fikr_hier(<<UserID>>,<<Stand>>,<<Sicht>>);select name,key,parent from tmp_hier;drop table tmp_hier;

attribut1

char

bei Bedarf noch Attribute der Sicht hinterlegt werden, auf die man bei Bedarf Einschränkungen fahren kann

 

 

attribut2

char

 

 

attribut3

integer

 

 

attribut4

integer

 

 

alt_quelle

char

Tabelle mit Infos zu altn. Hierarchie

 

 

alt_hier_id

 

id der alt.Hier in angegebenen Quelltabelle null bei reguläre Hierarchie

 

 

treecfgtable

char

Tabelle mit Infos zu TreeView aus Cob

 

 

treecfgid

 

id des benutzen trees aus Cob-Tabelle trees null bei regulärer Hierachie

 

 

impliedTags

text

future use

spezifische Tags die in select_stmts ersetzt werden.

Syntax <<Tagname>>=value|..|..

Diese Spalte wird von Memtext gepflegt und darf nur von Memtext angepasst werden.

 

 

 

userTags

text

future use:

Falls Sie selbst spezielle Tags für eine Sicht hinterlegen wollen, können Sie das analog zur impliedTags-Spalte hier tun.

 

 

 

xmlmaxentries

integer

wenn ein Wert angegeben ist, werden maximal die Anzahl von Einträgen in Comboboxen im Xml-Frontend angezeigt.  Es werden soviele Einträge auf unteren Ebenen ausgeblendet wie nötig.

 

 

sortnr

integer

kann für Sortierungen benutzt werden

 

 

aktiv

integer

über das Feld aktiv können bei Bedarf Aktivierung/Deaktivierung vorgenommen werden, wenn man z.B. im Felderinfo relation

schreibt  <<SQL>>select tid from sichten where art='Organigramm-Sicht'  and aktiv=1

 

 

 

gueltig_seit

date

Zukünftig für Gültigkeitszeiträume von Sichten

 

 

gueltig_bis

date

 

 

 

 

 

Quelle

Sql der ausgeführt werden soll. <<SQL>> am Anfang ist optional.

Wenn der SQL mit sp_ anfängt, wird davor je nach Datenbankserver execute procedure oder select gesetzt. Für alle Sichten wird erwartet, dass mindestens drei Felder name, key und parent geliefert werden.

 (der konkrete Name der Spalten ist irrelevant).

 

Anschließend  können optional noch Strukturinformationen[7] folgen (entweder Integer oder String).

Beispiel:

sp_fin_inst_hier(<<UserID>>,<<Stand>>,<<Sicht>>);select name,key,parent,strukturint from tmp_hier order by name; drop table tmp_hier;

strukturint (gefüllt aus fin_inst.orgstruktur) gibt mit Zahlen an, ob ein Eintrag eine Lehreinheit oder ein Fachbereich ist.

Auf diese Information kann später in Abfragen mit FreeMarker zugegriffen werden.

Beispiel

select

<#foreach eineInstitution in Institutionen>

   <#if Aggregierung="stark" and eineInstitution.strukturInt=30>

   ...

   <#else>

   ..

   </#if>

</#foreach>

 

Knoten verstecken oder nicht-selektierbar machen.

 

 


Zur Superx-Homepage SuperX ist auch ein CampusSource-Projekt. Zur CampusSource-Homepage | Powered by FreeMarker Seite 46 / 102
Letzter Update: 17.06.2008
Impressum